package com.yt.sys.service;

import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.BeanUtils;
import javax.annotation.Resource;
import com.yt.sys.common.config.YmlConfig;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.yt.sys.mapper.RoleMapper;
import com.yt.sys.models.service.IRoleService;
import com.yt.sys.models.bo.RoleSaveBO;
import com.yt.sys.models.dto.RoleDTO;

/**
 * 角色信息服务实现
 *
 * @author yzz
 * @Date 2025-10-22 09:47:37
 */
@DubboService
public class RoleServiceImpl extends ServiceImpl<RoleMapper, RoleDTO> implements IRoleService{

    @Resource
    private YmlConfig ymlConfig;

    @Override
    public boolean add(RoleSaveBO saveBO) {
        RoleDTO dto = new RoleDTO();
        // 手动映射字段，因为RoleSaveBO和RoleDTO字段不完全一致
        dto.setRoleName(saveBO.getRoleName());
        dto.setRoleDes(saveBO.getRoleDes());
        dto.setStatus(saveBO.getStatus());
        Long id = ymlConfig.getPkId();
        dto.setId(id);
        return this.insert(dto);
    }
    
    @Override
    public boolean update(RoleSaveBO saveBO) {
        RoleDTO dto = new RoleDTO();
        // 手动映射字段，因为RoleSaveBO和RoleDTO字段不完全一致
        dto.setId(Long.valueOf(saveBO.getId()));
        dto.setRoleName(saveBO.getRoleName());
        dto.setRoleDes(saveBO.getRoleDes());
        dto.setStatus(saveBO.getStatus());
        return this.updateById(dto);
    }
}